\hypertarget{classWFQueueManagerProxy}{
\section{WFQueueManagerProxy Class Reference}
\label{classWFQueueManagerProxy}\index{WFQueueManagerProxy@{WFQueueManagerProxy}}
}
\hyperlink{classWFQueueManagerProxy}{WFQueueManagerProxy} handles communication with \hyperlink{classWFQueueManager}{WFQueueManager}.  


{\tt \#include $<$wfqueuemanagerproxy.h$>$}

\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hyperlink{classWFQueueManagerProxy_ab6f33c8bc658a2d1996ce73ed630e2a}{WFQueueManagerProxy} (void)
\begin{CompactList}\small\item\em Default Constructor. \item\end{CompactList}\item 
\hyperlink{classWFQueueManagerProxy_cc387ad73f96fcef3607e6966cadbc61}{WFQueueManagerProxy} (const std::string \&IP, const \hyperlink{address_8h_4ca11348ac4907d66e5564401dbdf87d}{Port} \&port)
\begin{CompactList}\small\item\em Constructor specifying server IP address and port. \item\end{CompactList}\item 
\hyperlink{classWFQueueManagerProxy_3e89508a8702028a2b6da27fac152558}{WFQueueManagerProxy} (const \hyperlink{classAddress}{Address} \&addr)
\begin{CompactList}\small\item\em Constructor specifying server \hyperlink{classAddress}{Address}. \item\end{CompactList}\item 
\hypertarget{classWFQueueManagerProxy_efe7b77a799a29fac93a4b553e5e5ecd}{
\hyperlink{classWFQueueManagerProxy_efe7b77a799a29fac93a4b553e5e5ecd}{$\sim$WFQueueManagerProxy} (void)}
\label{classWFQueueManagerProxy_efe7b77a799a29fac93a4b553e5e5ecd}

\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item 
const \hyperlink{classAddress}{Address} \& \hyperlink{classWFQueueManagerProxy_aa34996ed6187e84112fc44c8ad79700}{getAddr} (void) const 
\begin{CompactList}\small\item\em Returns the current \hyperlink{classManager}{Manager} \hyperlink{classAddress}{Address}. \item\end{CompactList}\item 
void \hyperlink{classWFQueueManagerProxy_6574b4a1f36478c1d8060468b3c1b020}{setAddr} (const \hyperlink{classAddress}{Address} \&val)
\begin{CompactList}\small\item\em Sets current \hyperlink{classManager}{Manager} \hyperlink{classAddress}{Address} to the provided \hyperlink{classAddress}{Address}. \item\end{CompactList}\item 
void \hyperlink{classWFQueueManagerProxy_d85da2a6986b1a6739582d5c05455765}{setAddr} (const std::string \&IP, boost::uint16\_\-t port)
\begin{CompactList}\small\item\em Sets current \hyperlink{classManager}{Manager} \hyperlink{classAddress}{Address} to the provided IP and port. \item\end{CompactList}\item 
int \hyperlink{classWFQueueManagerProxy_4ac20aa10ab219fe7790f8ec6e540421}{enqueue} (const \hyperlink{classWorkflow}{Workflow} \&w)
\begin{CompactList}\small\item\em Ask the \hyperlink{classManager}{Manager} to add provided \hyperlink{classWorkflow}{Workflow} into its queue. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
\hyperlink{classWFQueueManagerProxy}{WFQueueManagerProxy} handles communication with \hyperlink{classWFQueueManager}{WFQueueManager}. 

In order to communicate with a \hyperlink{classManager}{Manager}, a \hyperlink{classUI}{UI} needs a \hyperlink{classWFQueueManagerProxy}{WFQueueManagerProxy}. UI-Manager interaction consist in \hyperlink{classWFQueueManagerProxy_4ac20aa10ab219fe7790f8ec6e540421}{enqueue()} call.\par
 Through \hyperlink{classWFQueueManagerProxy_4ac20aa10ab219fe7790f8ec6e540421}{enqueue()} a \hyperlink{classUI}{UI} is able to push into Manager's queue a \hyperlink{classWorkflow}{Workflow}.\par
 \hyperlink{classWFQueueManagerProxy}{WFQueueManagerProxy} uses an \hyperlink{classUDPClient}{UDPClient} to send \hyperlink{classWFQueueManagerProxy_4ac20aa10ab219fe7790f8ec6e540421}{enqueue()} requests. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classWFQueueManagerProxy_ab6f33c8bc658a2d1996ce73ed630e2a}{
\index{WFQueueManagerProxy@{WFQueueManagerProxy}!WFQueueManagerProxy@{WFQueueManagerProxy}}
\index{WFQueueManagerProxy@{WFQueueManagerProxy}!WFQueueManagerProxy@{WFQueueManagerProxy}}
\subsubsection[WFQueueManagerProxy]{\setlength{\rightskip}{0pt plus 5cm}WFQueueManagerProxy::WFQueueManagerProxy (void)}}
\label{classWFQueueManagerProxy_ab6f33c8bc658a2d1996ce73ed630e2a}


Default Constructor. 

\begin{Desc}
\item[Note:]This should not be used. \end{Desc}
\hypertarget{classWFQueueManagerProxy_cc387ad73f96fcef3607e6966cadbc61}{
\index{WFQueueManagerProxy@{WFQueueManagerProxy}!WFQueueManagerProxy@{WFQueueManagerProxy}}
\index{WFQueueManagerProxy@{WFQueueManagerProxy}!WFQueueManagerProxy@{WFQueueManagerProxy}}
\subsubsection[WFQueueManagerProxy]{\setlength{\rightskip}{0pt plus 5cm}WFQueueManagerProxy::WFQueueManagerProxy (const std::string \& {\em IP}, \/  const {\bf Port} \& {\em port})}}
\label{classWFQueueManagerProxy_cc387ad73f96fcef3607e6966cadbc61}


Constructor specifying server IP address and port. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em IP}]Server IP address. \item[{\em port}]Server port. \end{description}
\end{Desc}
\hypertarget{classWFQueueManagerProxy_3e89508a8702028a2b6da27fac152558}{
\index{WFQueueManagerProxy@{WFQueueManagerProxy}!WFQueueManagerProxy@{WFQueueManagerProxy}}
\index{WFQueueManagerProxy@{WFQueueManagerProxy}!WFQueueManagerProxy@{WFQueueManagerProxy}}
\subsubsection[WFQueueManagerProxy]{\setlength{\rightskip}{0pt plus 5cm}WFQueueManagerProxy::WFQueueManagerProxy (const {\bf Address} \& {\em addr})}}
\label{classWFQueueManagerProxy_3e89508a8702028a2b6da27fac152558}


Constructor specifying server \hyperlink{classAddress}{Address}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em addr}]Server \hyperlink{classAddress}{Address}. \end{description}
\end{Desc}


\subsection{Member Function Documentation}
\hypertarget{classWFQueueManagerProxy_aa34996ed6187e84112fc44c8ad79700}{
\index{WFQueueManagerProxy@{WFQueueManagerProxy}!getAddr@{getAddr}}
\index{getAddr@{getAddr}!WFQueueManagerProxy@{WFQueueManagerProxy}}
\subsubsection[getAddr]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Address} \& WFQueueManagerProxy::getAddr (void) const}}
\label{classWFQueueManagerProxy_aa34996ed6187e84112fc44c8ad79700}


Returns the current \hyperlink{classManager}{Manager} \hyperlink{classAddress}{Address}. 

\begin{Desc}
\item[Returns:]A constant reference to the \hyperlink{classUDPClient}{UDPClient} object's address . \end{Desc}
\hypertarget{classWFQueueManagerProxy_6574b4a1f36478c1d8060468b3c1b020}{
\index{WFQueueManagerProxy@{WFQueueManagerProxy}!setAddr@{setAddr}}
\index{setAddr@{setAddr}!WFQueueManagerProxy@{WFQueueManagerProxy}}
\subsubsection[setAddr]{\setlength{\rightskip}{0pt plus 5cm}void WFQueueManagerProxy::setAddr (const {\bf Address} \& {\em val})}}
\label{classWFQueueManagerProxy_6574b4a1f36478c1d8060468b3c1b020}


Sets current \hyperlink{classManager}{Manager} \hyperlink{classAddress}{Address} to the provided \hyperlink{classAddress}{Address}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em val}]The provided \hyperlink{classAddress}{Address}. \end{description}
\end{Desc}
\hypertarget{classWFQueueManagerProxy_d85da2a6986b1a6739582d5c05455765}{
\index{WFQueueManagerProxy@{WFQueueManagerProxy}!setAddr@{setAddr}}
\index{setAddr@{setAddr}!WFQueueManagerProxy@{WFQueueManagerProxy}}
\subsubsection[setAddr]{\setlength{\rightskip}{0pt plus 5cm}void WFQueueManagerProxy::setAddr (const std::string \& {\em IP}, \/  boost::uint16\_\-t {\em port})}}
\label{classWFQueueManagerProxy_d85da2a6986b1a6739582d5c05455765}


Sets current \hyperlink{classManager}{Manager} \hyperlink{classAddress}{Address} to the provided IP and port. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em IP}]Server IP address. \item[{\em port}]Server port. \end{description}
\end{Desc}
\hypertarget{classWFQueueManagerProxy_4ac20aa10ab219fe7790f8ec6e540421}{
\index{WFQueueManagerProxy@{WFQueueManagerProxy}!enqueue@{enqueue}}
\index{enqueue@{enqueue}!WFQueueManagerProxy@{WFQueueManagerProxy}}
\subsubsection[enqueue]{\setlength{\rightskip}{0pt plus 5cm}int WFQueueManagerProxy::enqueue (const {\bf Workflow} \& {\em w})}}
\label{classWFQueueManagerProxy_4ac20aa10ab219fe7790f8ec6e540421}


Ask the \hyperlink{classManager}{Manager} to add provided \hyperlink{classWorkflow}{Workflow} into its queue. 

This method sends the provided \hyperlink{classWorkflow}{Workflow} to \hyperlink{classWFQueueManager}{WFQueueManager} module via UDP, using boost asio and serialization utilities.

\begin{Desc}
\item[Note:]As long as the service offered is best effort in this stage of development no delivery warranties are provided.\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em w}]The provided \hyperlink{classWorkflow}{Workflow}. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Zero if operation successful, otherwise an error code. \end{Desc}


The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
\hyperlink{wfqueuemanagerproxy_8h}{wfqueuemanagerproxy.h}\item 
\hyperlink{wfqueuemanagerproxy_8cpp}{wfqueuemanagerproxy.cpp}\end{CompactItemize}
